<%-- 
    Document   : CON_REC_AJUSTE_DC_ACTIVO_POSITIVO
    Created on : 30-sep-2014, 11:43:04
    Author     : equipo_4
--%>

<%@page import="Modelo.SIS_ACCEDIDOS"%>
<%@page import="CONTABILIDAD_MODELO.CON_CUENTA_COMPRA_VENTA"%>
<%@page import="CONTABILIDAD_MODELO.CON_CUENTA_CONTABLE"%>
<%@page import="java.util.List"%>
<%@page import="CONTABILIDAD_MODELO.CON_COMPROBANTE_DETALLE_REC"%>
<%@page import="CONTABILIDAD_MODELO.CON_COMPROBANTE"%>
<%@page import="Conexion.Conexion"%>
<%@page import="RRHH_Modelo.RHH_USUARIO"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <link href="../css/NuevoStilo.css" rel="stylesheet" type="text/css"/>
        <script type="text/javascript" src="../login/js/jquery-1.8.2.min.js"></script>
        <title>BROKER</title>
    </head>
    <body>
        <h1 id="tituloFormulario">PARAMETRIZACION DE CUENTAS IMPOSITIVAS</h1>
        <%
            RHH_USUARIO usuario = ((RHH_USUARIO)request.getSession().getAttribute("usr"));
            Conexion con = new Conexion(usuario.getUSUARIO(), usuario.getPASSWORD());
            SIS_ACCEDIDOS accedido = new SIS_ACCEDIDOS("CONTABILIDAD/CON_CUENTA_COMPRA_VENTA.jsp", usuario.getID(), "CUENTA COMPRA VENTA");
            accedido.setCon(con);
            accedido.Insertar();
            
            CON_CUENTA_COMPRA_VENTA comven = new CON_CUENTA_COMPRA_VENTA();
            comven.setCon(con);
            List<CON_CUENTA_COMPRA_VENTA> lista = comven.Todos();
           
        %>
        <form method="POST" action="">
            <table id="cuenta">
                <thead>                    
                    <th>NOMBRE</th>
                    <th>PORCENTAJE</th>
                    <th>DEBE</th>
                    <th>HABER</th>
                    <th>CODIGO</th>
                    <th>DESCRIPCION</th>
                    <th>CREDITO FISCAL</th>
                    <th>DEBITO FISCAL</th>
                </thead>
                <tbody>
                    <%
                    if(lista.size()==0)
                    {
                        out.print("<tr><td><input onkeyup='filamas(this, event);' type='text' class='Extragrande' value='' name='cdesc'/></td><td><input onkeyup='filamas(this, event);' type='text' class='pequeño' value='' name='cporc'/></td><td><input onkeyup='filamas(this, event);' type='text' class='pequeño' value='' name='cdebe'/></td><td><input onkeyup='filamas(this, event);' type='text' class='pequeño' value='O' name='chaber'/></td><td><input onkeyup='filamas(this, event);' type='text' class='Extragrande' value='' name='cucodigo'/></td><td><input onkeyup='filamas(this, event);' type='text' class='Extragrande' value='' name='cudesc'/></td><td><input type='checkbox'  name='algo'/></tr>");
                    }
                    for(int i =0; i< lista.size(); i++)
                    {
                        out.print("<tr>");
                        CON_CUENTA_CONTABLE cuenta = new CON_CUENTA_CONTABLE(con);
                        cuenta.setCon(con);
                        cuenta=cuenta.BuscarXid(lista.get(i).getID_CUENTA());
                        out.print("<td><input onkeyup='filamas(this, event);' type='text' class='Extragrande' value='"+lista.get(i).getDESCRIPCION()+"' name='cdesc'/></td>");
                        out.print("<td><input onkeyup='filamas(this, event);' type='text' class='pequeño' value='"+lista.get(i).getPORCENTAJE()+"' name='cporc'/></td>");
                        if(lista.get(i).getDEBE_HABER()==0)
                        {
                            out.print("<td><input onkeyup='filamas(this, event);' type='text' class='pequeño' value='O' name='cdebe'/></td>");
                            out.print("<td><input onkeyup='filamas(this, event);' type='text' class='pequeño' value='' name='chaber'/></td>");
                        }
                        else
                        {
                            out.print("<td><input onkeyup='filamas(this, event);' type='text' class='pequeño' value='' name='cdebe'/></td>");
                            out.print("<td><input onkeyup='filamas(this, event);' type='text' class='pequeño' value='O' name='chaber'/></td>");
                        }
                        out.print("<td><input onkeyup='filamas(this, event);' type='text' class='Extragrande' value='"+cuenta.getCODIGO()+"' name='cucodigo'/></td>");
                        out.print("<td><input onkeyup='filamas(this, event);' type='text' class='Extragrande' value='"+cuenta.getDESCRIPCION()+"' name='cudesc'/></td>");
                        if(lista.get(i).getDEDUCIBLE_FISCAL()==0)
                        out.print("<td><input type='checkbox' checked name='algo'/></td>");                        
                        else
                        out.print("<td><input type='checkbox' name='algo'/></td>"); 
                        
                        if(lista.get(i).getDEDUCIBLE_FISCAL()==2)
                        out.print("<td><input type='checkbox' checked name='algo'/></td>");                        
                        if(lista.get(i).getDEDUCIBLE_FISCAL()==1 || lista.get(i).getDEDUCIBLE_FISCAL()==0)
                        out.print("<td><input type='checkbox' name='algo'/></td>"); 
                        
                        
                        out.print("</tr>");
                    }
                    %>  
                </tbody>
            </table>
        </form>
         <span id="resultado"></span>
          <footer >
              <a  href="#" onClick="guardar();"><img src="../img/iconos/guardar.png" alt=""/><br/>
               Guardar
            </a>
            <a href="#" id="Atras"><img src="../img/iconos/cancelar.png" /><br/>
                Cancelar
            </a>
        </footer>
        <script>
            function guardar()
            {       
                var objeto = [];
                $.each($("#cuenta tbody tr"),function (i,item){
                    
                    var a = $(item).find("td:eq(0)").children().val();                    
                    var b = $(item).find("td:eq(1)").children().val();
                    var c = $(item).find("td:eq(4)").children().val();
                    var e = "";
                    var f="";
                    if($(item).find("td:eq(6)").children().attr("checked"))
                        e = "0";
                    else
                        e = "1";
                    if($(item).find("td:eq(7)").children().attr("checked"))
                        f = "2";
                    else
                        f = "1";
                    
                    var d;
                    if($(item).find("td:eq(2)").children().val()=="O")
                    {
                        d=0;
                    }
                    else
                    {
                        d=1;
                    }                    
                    objeto.push({nombre:a,porc:b,codigoc:c,dh:d, cf:e,df:f});
                });                               
                
                var length = objeto.length;
                $.post("../CON_CUENTA_COMPRA_VENTA_CONTROLLER",{proceso:"guardar", tabla:objeto, length:length},function(responsetext1){
                    if(responsetext1=="TRUE")
                    {
                        alert("SE INSERTO CORRECTAMENTE");
                    }
                    else
                    {
                        alert("NO SE LOGRO INSERTAR");
                    }
                });
            }
            
            $("input[name=algo]").change(function(){
                var index=$(this).parent().index();
                 $("#cuenta tr").each(function(){
                        if($(this).find("td:eq("+index+") input").prop('checked'))
                      $(this).find("td:eq("+index+") input").prop('checked', false);
                 });
                 $(this).prop('checked', true);
                 var index2=$(this).parent().parent().index();
                 if(index==6){
                      if( $("#cuenta tbody tr:eq("+index2+") td:eq(7) input").prop('checked'))
                     $("#cuenta tbody tr:eq("+index2+") td:eq(7) input").prop('checked', false);
                 }else{
                      if( $("#cuenta tbody tr:eq("+index2+") td:eq(6) input").prop('checked'))
                    $("#cuenta tbody tr:eq("+index2+") td:eq(6) input").prop('checked', false);
                 }
            });
            function filamas(inputt, event)
            {                                
                if(event.keyCode==107)
                {            
                    var stri = inputt.value;
                    
                    inputt.value = stri.substring(0, stri.length-1);
                    var tr = "<tr><td><input onkeyup='filamas(this, event);' type='text' class='Extragrande' value='' name='cdesc'/></td><td><input onkeyup='filamas(this, event);' type='text' class='pequeño' value='' name='cporc'/></td><td><input onkeyup='filamas(this, event);' type='text' class='pequeño' value='' name='cdebe'/></td><td><input onkeyup='filamas(this, event);' type='text' class='pequeño' value='O' name='chaber'/></td><td><input onkeyup='filamas(this, event);' type='text' class='Extragrande' value='' name='cucodigo'/></td><td><input onkeyup='filamas(this, event);' type='text' class='Extragrande' value='' name='cudesc'/></td><td><input type='checkbox'  name='algo'/></tr>";
                    $(inputt).parent().parent().after(tr); 
                    eventoTupla($(inputt).parent().parent().next());
                }
                if(event.keyCode==109)
                {                    
                    inputt.value = "";
                    var indextd = $(inputt).parent().index();
                     var indextr = $(inputt).parent().parent().index();
                     var suma = indextr-1;
                     $(inputt).parent().parent().parent().find("tr:eq("+suma+")").find("td:eq("+indextd+")").find("input").focus();
                    $(inputt).parent().parent().remove();
                }
                if(event.keyCode==40)
                {                                                  
                     var indextd = $(inputt).parent().index();
                     var indextr = $(inputt).parent().parent().index();
                     var suma = indextr+1;
                     $(inputt).parent().parent().parent().find("tr:eq("+suma+")").find("td:eq("+indextd+")").find("input").focus();
                }
                if(event.keyCode==38)
                {    
                    var indextd = $(inputt).parent().index();
                     var indextr = $(inputt).parent().parent().index();
                     var suma = indextr-1;
                     $(inputt).parent().parent().parent().find("tr:eq("+suma+")").find("td:eq("+indextd+")").find("input").focus();
                }
                if(event.keyCode==39)
                {    
                    var indextd = $(inputt).parent().index()+1;
                    var indextr = $(inputt).parent().parent().index();
                    var suma = indextr;
                     $(inputt).parent().parent().parent().find("tr:eq("+suma+")").find("td:eq("+indextd+")").find("input").focus();
                }
                if(event.keyCode==37)
                {    
                    var indextd = $(inputt).parent().index()-1;
                     var indextr = $(inputt).parent().parent().index();
                     var suma = indextr;
                     $(inputt).parent().parent().parent().find("tr:eq("+suma+")").find("td:eq("+indextd+")").find("input").focus();
                }
                
                if(event.keyCode!=37 && event.keyCode!=39 && event.keyCode!=38 && event.keyCode!=40 && event.keyCode!=109 && event.keyCode!=107)
                {
                    
                    var indextd = $(inputt).parent().index();
                    if(indextd==2)
                    {
                        var indextdn = indextd+1;                        
                        var indextr = $(inputt).parent().parent().index();
                        $(inputt).parent().parent().parent().find("tr:eq("+indextr+")").find("td:eq("+indextdn+")").find("input").val("");
                        $(inputt).val("O");
                    }
                    if(indextd==3)
                    {
                        var indextdn = indextd-1;
                        var indextr = $(inputt).parent().parent().index();
                        $(inputt).parent().parent().parent().find("tr:eq("+indextr+")").find("td:eq("+indextdn+")").find("input").val("");
                        $(inputt).val("O");
                    }
                }
               
            }
            var ListaCuentaContable=[];
           function versionamiento(){
                var versionCuenta=localStorage['versionCuenta'];
                if(typeof (versionCuenta)=="undefined")
                    versionCuenta=-1;
                $("#popUpCarga").css("display","block");
                $("#popUpbackGround").css("display","block");
                $.post(url,{proceso:"version"},function(responsetext){
                     var json=$.parseJSON(responsetext);
                     if(json.cuenta!=versionCuenta){
                         cargarCuentas(json.cuenta,versionCuenta);
                     }else{
                        ListaCuentaContable = $.parseJSON(localStorage['CuentaContable']);
                        $("#popUpCarga").css("display","none");
                        $("#popUpbackGround").css("display","none");
                     }
                });
               
            }
            function cargarCuentas(versionCuenta,vcuenta){
                ListaCuentaContable = $.parseJSON(localStorage['CuentaContable']);
                if(ListaCuentaContable==null){
                    ListaCuentaContable=[];
                }
                $.post(url,{proceso:"cargarCuenta",cuenta:vcuenta},function(responsetext){
                    var json=$.parseJSON(responsetext);
                    localStorage['versionCuenta']=versionCuenta;
                    if(vcuenta==-1){
                        if(typeof(ListaCuentaContable)!="undefined")
                        ListaCuentaContable=json.cuenta;
                    }else{
                        $.each(json.cuenta, function(){
                            var item=$(this);
                            if(item.CODIGO=="na"){
                                delete ListaCuentaContable["c"+item.id];
                            }else{
                                 ListaCuentaContable["c"+parseInt(item.id)]={
                                     CODIGO:item.CODIGO,
                                     MONEDA : item.MONEDA,
                                     DESCRIPCION : item.DESCRIPCION,
                                     NIVEL :item.NIVEL,
                                     id :item.id,
                                     idnivel : item.idnivel,
                                     tipo : item.tipo
                                 }; 
                             } 
                         });
                    }
                    localStorage["CuentaContable"] = JSON.stringify(ListaCuentaContable);
                    $("#popUpCarga").css("display","none");
                    $("#popUpbackGround").css("display","none");
                });
            }
            var cuentaSeleccionada ;
            function eventoTupla(tr){
                tr.find("input[name=cudesc]").keyup(function (){
                        cuentaSeleccionada=$(this);
                        var posicion = cuentaSeleccionada.position();
                       $("#resultado").css({
                           position:"absolute",
                           left:posicion.left-6,
                           top:posicion.top+20,
                           background:"white",
                           border:"solid black thin",
                           font:"10px Arial",
                           color:"black",
                           opacity:0.7,
                           display:"block"
                       });
                       var value = $(this).val();
                       $('#resultado').html("");
                      $.each(ListaCuentaContable, function(i, item) {
                           if(ListaCuentaContable[i].DESCRIPCION.toUpperCase().search(value.toUpperCase())>-1){
                               var texto = "<a href='#' class='negrillaenter' onclick=\"seleccionarBusqueda(this,'"+item.CODIGO+"', '"+item.DESCRIPCION+"','"+item.MONEDA+"')\">"+item.CODIGO+" "+item.DESCRIPCION+"</a>";
                               $('#resultado').append(texto);
                               if(i==10)return false;
                           }
                       }); 
                   });
                tr.find("input[name=cucodigo]").keyup(function (){
                       cuentaSeleccionada=$(this);
                       var posicion = cuentaSeleccionada.position();
                       $("#resultado").css({
                           position:"absolute",
                           left:posicion.left-6,
                           top:posicion.top+20,
                           background:"white",
                           border:"solid black thin",
                           font:"10px Arial",
                           color:"black",
                           opacity:"0.7",
                           display:"block"
                       });
                       var value = $(this).val();
                         $('#resultado').html("");
                         $.each(ListaCuentaContable, function(i, item) {
                           var codigo = ListaCuentaContable[i].CODIGO.replace(/\-/g, '');  
                           if(codigo.search(value)==0){
                               var texto = "<a href='#' class='negrillaenter' onclick=\"seleccionarBusqueda(this,'"+item.CODIGO+"', '"+item.DESCRIPCION+"','"+item.MONEDA+"')\">"+item.CODIGO+" "+item.DESCRIPCION+"</a>";
                               $('#resultado').append(texto);
                           }
                         });  
                   });
            }
            function seleccionarBusqueda(elemento,codigo,descripcion,moneda){
                var tr=cuentaSeleccionada.parent().parent();            
                tr.find("input[name=cucodigo]").val(codigo);
                tr.find("input[name=cudesc]").val(descripcion);
                 $("#resultado").css("display","none");                
            }
            $(document).ready(function(){
                eventoTupla($("#cuenta tr")) 
                versionamiento();
                 
            });
            
        </script>
    </body>
    
</html>
